home *** CD-ROM | disk | FTP | other *** search
Wrap
/* * DO NOT EDIT. THIS FILE IS GENERATED FROM nsIDownloadManager.idl */ #ifndef __gen_nsIDownloadManager_h__ #define __gen_nsIDownloadManager_h__ #ifndef __gen_nsISupports_h__ #include "nsISupports.h" #endif /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif class nsIDOMWindow; /* forward declaration */ class nsIURI; /* forward declaration */ class nsILocalFile; /* forward declaration */ class nsIDownload; /* forward declaration */ class nsICancelable; /* forward declaration */ class nsIMIMEInfo; /* forward declaration */ class nsIRDFDataSource; /* forward declaration */ class nsIDownloadProgressListener; /* forward declaration */ class nsISupportsArray; /* forward declaration */ /* starting interface: nsIDownloadManager */ #define NS_IDOWNLOADMANAGER_IID_STR "1f280341-30f4-4009-bb0d-a78f2936d1fb" #define NS_IDOWNLOADMANAGER_IID \ {0x1f280341, 0x30f4, 0x4009, \ { 0xbb, 0x0d, 0xa7, 0x8f, 0x29, 0x36, 0xd1, 0xfb }} class NS_NO_VTABLE nsIDownloadManager : public nsISupports { public: NS_DEFINE_STATIC_IID_ACCESSOR(NS_IDOWNLOADMANAGER_IID) enum { DOWNLOAD_NOTSTARTED = -1 }; enum { DOWNLOAD_DOWNLOADING = 0 }; enum { DOWNLOAD_FINISHED = 1 }; enum { DOWNLOAD_FAILED = 2 }; enum { DOWNLOAD_CANCELED = 3 }; enum { DOWNLOAD_PAUSED = 4 }; enum { DOWNLOAD_TYPE_DOWNLOAD = 0 }; /** * Creates an nsIDownload and adds it to be managed by the download manager. * * @param aSource The source URI of the transfer. Must not be null. * * @param aTarget The target URI of the transfer. Must not be null. * * @param aDisplayName The user-readable description of the transfer. * Can be empty. * * @param aMIMEInfo The MIME info associated with the target, * including MIME type and helper app when appropriate. * This parameter is optional. * * @param startTime Time when the download started * * @param aTempFile The location of a temporary file; i.e. a file in which * the received data will be stored, but which is not * equal to the target file. (will be moved to the real * target by the caller, when the download is finished) * May be null. * * @param aCancelable An object that can be used to abort the download. * Must not be null. * * @return The newly created download item with the passed-in properties. */ /* nsIDownload addDownload (in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in AString aIconURL, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable); */ NS_IMETHOD AddDownload(PRInt16 aDownloadType, nsIURI *aSource, nsIURI *aTarget, const nsAString & aDisplayName, const nsAString & aIconURL, nsIMIMEInfo *aMIMEInfo, PRTime aStartTime, nsILocalFile *aTempFile, nsICancelable *aCancelable, nsIDownload **_retval) = 0; /** * Retrieves an in-progress download managed by the download manager. * * @param aPersistentDescriptor The unique identifier used to describe a * a download, and an attribute of nsILocalFile. * On Windows and Linux, this is just the path * of the target, but on Mac this is guaranteed * to be unique. * * @return The download with the specified persistent descriptor. */ /* nsIDownload getDownload (in wstring aPersistentDescriptor); */ NS_IMETHOD GetDownload(const PRUnichar *aPersistentDescriptor, nsIDownload **_retval) = 0; /** * Cancels the download with the specified persistent descriptor if it's * currently in progress. This calls cancel(NS_BINDING_ABORTED) on the * nsICancelable provided for the download. * * @param aPersistentDescriptor The persistent descriptor of the download to * be cancelled. */ /* void cancelDownload (in wstring aPersistentDescriptor); */ NS_IMETHOD CancelDownload(const PRUnichar *aPersistentDescriptor) = 0; /** * Removes the download with the specified persistent descriptor if it's not * currently in progress. Whereas cancelDownload simply cancels the transfer * but retains information about it, removeDownload removes all knowledge of it. * * @param aPersistentDescriptor The persistent descriptor of the download to * be removed. */ /* void removeDownload (in wstring aPersistentDescriptor); */ NS_IMETHOD RemoveDownload(const PRUnichar *aPersistentDescriptor) = 0; /** * Pause the specified download. */ /* void pauseDownload (in wstring aPersistentDescriptor); */ NS_IMETHOD PauseDownload(const PRUnichar *aPersistentDescriptor) = 0; /** * Resume the specified download. */ /* void resumeDownload (in wstring aPersistentDescriptor); */ NS_IMETHOD ResumeDownload(const PRUnichar *aPersistentDescriptor) = 0; /** * Opens the Download Manager front end. * * @param aParent The parent, or opener, of the front end (optional). * @param aDownload A download to pass to the manager widnow. Useful if, * for example, you want the window to select a certain * download (optional). */ /* void open (in nsIDOMWindow aParent, in wstring aPersistentDescriptor); */ NS_IMETHOD Open(nsIDOMWindow *aParent, const PRUnichar *aPersistentDescriptor) = 0; /** * The Download Manager's progress listener. */ /* attribute nsIDownloadProgressListener listener; */ NS_IMETHOD GetListener(nsIDownloadProgressListener * *aListener) = 0; NS_IMETHOD SetListener(nsIDownloadProgressListener * aListener) = 0; /** * Indicate that a batch update (e.g. mass removal) is about to start. */ /* void startBatchUpdate (); */ NS_IMETHOD StartBatchUpdate(void) = 0; /** * Indicate that a batch update is ending. */ /* void endBatchUpdate (); */ NS_IMETHOD EndBatchUpdate(void) = 0; /** * Whether or not there are downloads that can be cleaned up (removed) * i.e. downloads that have completed, have failed or have been canceled. */ /* readonly attribute boolean canCleanUp; */ NS_IMETHOD GetCanCleanUp(PRBool *aCanCleanUp) = 0; /** * Removes completed, failed, and canceled downloads from the list. */ /* void cleanUp (); */ NS_IMETHOD CleanUp(void) = 0; /** * The number of files currently being downloaded. */ /* readonly attribute long activeDownloadCount; */ NS_IMETHOD GetActiveDownloadCount(PRInt32 *aActiveDownloadCount) = 0; /** * An enumeration of active downloads. */ /* readonly attribute nsISupportsArray activeDownloads; */ NS_IMETHOD GetActiveDownloads(nsISupportsArray * *aActiveDownloads) = 0; /** * Update the download datasource. */ /* void saveState (); */ NS_IMETHOD SaveState(void) = 0; /** * Flush the download datasource to disk. */ /* void flush (); */ NS_IMETHOD Flush(void) = 0; /* readonly attribute nsIRDFDataSource datasource; */ NS_IMETHOD GetDatasource(nsIRDFDataSource * *aDatasource) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIDOWNLOADMANAGER \ NS_IMETHOD AddDownload(PRInt16 aDownloadType, nsIURI *aSource, nsIURI *aTarget, const nsAString & aDisplayName, const nsAString & aIconURL, nsIMIMEInfo *aMIMEInfo, PRTime aStartTime, nsILocalFile *aTempFile, nsICancelable *aCancelable, nsIDownload **_retval); \ NS_IMETHOD GetDownload(const PRUnichar *aPersistentDescriptor, nsIDownload **_retval); \ NS_IMETHOD CancelDownload(const PRUnichar *aPersistentDescriptor); \ NS_IMETHOD RemoveDownload(const PRUnichar *aPersistentDescriptor); \ NS_IMETHOD PauseDownload(const PRUnichar *aPersistentDescriptor); \ NS_IMETHOD ResumeDownload(const PRUnichar *aPersistentDescriptor); \ NS_IMETHOD Open(nsIDOMWindow *aParent, const PRUnichar *aPersistentDescriptor); \ NS_IMETHOD GetListener(nsIDownloadProgressListener * *aListener); \ NS_IMETHOD SetListener(nsIDownloadProgressListener * aListener); \ NS_IMETHOD StartBatchUpdate(void); \ NS_IMETHOD EndBatchUpdate(void); \ NS_IMETHOD GetCanCleanUp(PRBool *aCanCleanUp); \ NS_IMETHOD CleanUp(void); \ NS_IMETHOD GetActiveDownloadCount(PRInt32 *aActiveDownloadCount); \ NS_IMETHOD GetActiveDownloads(nsISupportsArray * *aActiveDownloads); \ NS_IMETHOD SaveState(void); \ NS_IMETHOD Flush(void); \ NS_IMETHOD GetDatasource(nsIRDFDataSource * *aDatasource); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIDOWNLOADMANAGER(_to) \ NS_IMETHOD AddDownload(PRInt16 aDownloadType, nsIURI *aSource, nsIURI *aTarget, const nsAString & aDisplayName, const nsAString & aIconURL, nsIMIMEInfo *aMIMEInfo, PRTime aStartTime, nsILocalFile *aTempFile, nsICancelable *aCancelable, nsIDownload **_retval) { return _to AddDownload(aDownloadType, aSource, aTarget, aDisplayName, aIconURL, aMIMEInfo, aStartTime, aTempFile, aCancelable, _retval); } \ NS_IMETHOD GetDownload(const PRUnichar *aPersistentDescriptor, nsIDownload **_retval) { return _to GetDownload(aPersistentDescriptor, _retval); } \ NS_IMETHOD CancelDownload(const PRUnichar *aPersistentDescriptor) { return _to CancelDownload(aPersistentDescriptor); } \ NS_IMETHOD RemoveDownload(const PRUnichar *aPersistentDescriptor) { return _to RemoveDownload(aPersistentDescriptor); } \ NS_IMETHOD PauseDownload(const PRUnichar *aPersistentDescriptor) { return _to PauseDownload(aPersistentDescriptor); } \ NS_IMETHOD ResumeDownload(const PRUnichar *aPersistentDescriptor) { return _to ResumeDownload(aPersistentDescriptor); } \ NS_IMETHOD Open(nsIDOMWindow *aParent, const PRUnichar *aPersistentDescriptor) { return _to Open(aParent, aPersistentDescriptor); } \ NS_IMETHOD GetListener(nsIDownloadProgressListener * *aListener) { return _to GetListener(aListener); } \ NS_IMETHOD SetListener(nsIDownloadProgressListener * aListener) { return _to SetListener(aListener); } \ NS_IMETHOD StartBatchUpdate(void) { return _to StartBatchUpdate(); } \ NS_IMETHOD EndBatchUpdate(void) { return _to EndBatchUpdate(); } \ NS_IMETHOD GetCanCleanUp(PRBool *aCanCleanUp) { return _to GetCanCleanUp(aCanCleanUp); } \ NS_IMETHOD CleanUp(void) { return _to CleanUp(); } \ NS_IMETHOD GetActiveDownloadCount(PRInt32 *aActiveDownloadCount) { return _to GetActiveDownloadCount(aActiveDownloadCount); } \ NS_IMETHOD GetActiveDownloads(nsISupportsArray * *aActiveDownloads) { return _to GetActiveDownloads(aActiveDownloads); } \ NS_IMETHOD SaveState(void) { return _to SaveState(); } \ NS_IMETHOD Flush(void) { return _to Flush(); } \ NS_IMETHOD GetDatasource(nsIRDFDataSource * *aDatasource) { return _to GetDatasource(aDatasource); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIDOWNLOADMANAGER(_to) \ NS_IMETHOD AddDownload(PRInt16 aDownloadType, nsIURI *aSource, nsIURI *aTarget, const nsAString & aDisplayName, const nsAString & aIconURL, nsIMIMEInfo *aMIMEInfo, PRTime aStartTime, nsILocalFile *aTempFile, nsICancelable *aCancelable, nsIDownload **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddDownload(aDownloadType, aSource, aTarget, aDisplayName, aIconURL, aMIMEInfo, aStartTime, aTempFile, aCancelable, _retval); } \ NS_IMETHOD GetDownload(const PRUnichar *aPersistentDescriptor, nsIDownload **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownload(aPersistentDescriptor, _retval); } \ NS_IMETHOD CancelDownload(const PRUnichar *aPersistentDescriptor) { return !_to ? NS_ERROR_NULL_POINTER : _to->CancelDownload(aPersistentDescriptor); } \ NS_IMETHOD RemoveDownload(const PRUnichar *aPersistentDescriptor) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveDownload(aPersistentDescriptor); } \ NS_IMETHOD PauseDownload(const PRUnichar *aPersistentDescriptor) { return !_to ? NS_ERROR_NULL_POINTER : _to->PauseDownload(aPersistentDescriptor); } \ NS_IMETHOD ResumeDownload(const PRUnichar *aPersistentDescriptor) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResumeDownload(aPersistentDescriptor); } \ NS_IMETHOD Open(nsIDOMWindow *aParent, const PRUnichar *aPersistentDescriptor) { return !_to ? NS_ERROR_NULL_POINTER : _to->Open(aParent, aPersistentDescriptor); } \ NS_IMETHOD GetListener(nsIDownloadProgressListener * *aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetListener(aListener); } \ NS_IMETHOD SetListener(nsIDownloadProgressListener * aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetListener(aListener); } \ NS_IMETHOD StartBatchUpdate(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->StartBatchUpdate(); } \ NS_IMETHOD EndBatchUpdate(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->EndBatchUpdate(); } \ NS_IMETHOD GetCanCleanUp(PRBool *aCanCleanUp) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanCleanUp(aCanCleanUp); } \ NS_IMETHOD CleanUp(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CleanUp(); } \ NS_IMETHOD GetActiveDownloadCount(PRInt32 *aActiveDownloadCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActiveDownloadCount(aActiveDownloadCount); } \ NS_IMETHOD GetActiveDownloads(nsISupportsArray * *aActiveDownloads) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActiveDownloads(aActiveDownloads); } \ NS_IMETHOD SaveState(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->SaveState(); } \ NS_IMETHOD Flush(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Flush(); } \ NS_IMETHOD GetDatasource(nsIRDFDataSource * *aDatasource) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDatasource(aDatasource); } #if 0 /* Use the code below as a template for the implementation class for this interface. */ /* Header file */ class nsDownloadManager : public nsIDownloadManager { public: NS_DECL_ISUPPORTS NS_DECL_NSIDOWNLOADMANAGER nsDownloadManager(); private: ~nsDownloadManager(); protected: /* additional members */ }; /* Implementation file */ NS_IMPL_ISUPPORTS1(nsDownloadManager, nsIDownloadManager) nsDownloadManager::nsDownloadManager() { /* member initializers and constructor code */ } nsDownloadManager::~nsDownloadManager() { /* destructor code */ } /* nsIDownload addDownload (in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in AString aIconURL, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable); */ NS_IMETHODIMP nsDownloadManager::AddDownload(PRInt16 aDownloadType, nsIURI *aSource, nsIURI *aTarget, const nsAString & aDisplayName, const nsAString & aIconURL, nsIMIMEInfo *aMIMEInfo, PRTime aStartTime, nsILocalFile *aTempFile, nsICancelable *aCancelable, nsIDownload **_retval) { return NS_ERROR_NOT_IMPLEMENTED; } /* nsIDownload getDownload (in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::GetDownload(const PRUnichar *aPersistentDescriptor, nsIDownload **_retval) { return NS_ERROR_NOT_IMPLEMENTED; } /* void cancelDownload (in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::CancelDownload(const PRUnichar *aPersistentDescriptor) { return NS_ERROR_NOT_IMPLEMENTED; } /* void removeDownload (in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::RemoveDownload(const PRUnichar *aPersistentDescriptor) { return NS_ERROR_NOT_IMPLEMENTED; } /* void pauseDownload (in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::PauseDownload(const PRUnichar *aPersistentDescriptor) { return NS_ERROR_NOT_IMPLEMENTED; } /* void resumeDownload (in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::ResumeDownload(const PRUnichar *aPersistentDescriptor) { return NS_ERROR_NOT_IMPLEMENTED; } /* void open (in nsIDOMWindow aParent, in wstring aPersistentDescriptor); */ NS_IMETHODIMP nsDownloadManager::Open(nsIDOMWindow *aParent, const PRUnichar *aPersistentDescriptor) { return NS_ERROR_NOT_IMPLEMENTED; } /* attribute nsIDownloadProgressListener listener; */ NS_IMETHODIMP nsDownloadManager::GetListener(nsIDownloadProgressListener * *aListener) { return NS_ERROR_NOT_IMPLEMENTED; } NS_IMETHODIMP nsDownloadManager::SetListener(nsIDownloadProgressListener * aListener) { return NS_ERROR_NOT_IMPLEMENTED; } /* void startBatchUpdate (); */ NS_IMETHODIMP nsDownloadManager::StartBatchUpdate() { return NS_ERROR_NOT_IMPLEMENTED; } /* void endBatchUpdate (); */ NS_IMETHODIMP nsDownloadManager::EndBatchUpdate() { return NS_ERROR_NOT_IMPLEMENTED; } /* readonly attribute boolean canCleanUp; */ NS_IMETHODIMP nsDownloadManager::GetCanCleanUp(PRBool *aCanCleanUp) { return NS_ERROR_NOT_IMPLEMENTED; } /* void cleanUp (); */ NS_IMETHODIMP nsDownloadManager::CleanUp() { return NS_ERROR_NOT_IMPLEMENTED; } /* readonly attribute long activeDownloadCount; */ NS_IMETHODIMP nsDownloadManager::GetActiveDownloadCount(PRInt32 *aActiveDownloadCount) { return NS_ERROR_NOT_IMPLEMENTED; } /* readonly attribute nsISupportsArray activeDownloads; */ NS_IMETHODIMP nsDownloadManager::GetActiveDownloads(nsISupportsArray * *aActiveDownloads) { return NS_ERROR_NOT_IMPLEMENTED; } /* void saveState (); */ NS_IMETHODIMP nsDownloadManager::SaveState() { return NS_ERROR_NOT_IMPLEMENTED; } /* void flush (); */ NS_IMETHODIMP nsDownloadManager::Flush() { return NS_ERROR_NOT_IMPLEMENTED; } /* readonly attribute nsIRDFDataSource datasource; */ NS_IMETHODIMP nsDownloadManager::GetDatasource(nsIRDFDataSource * *aDatasource) { return NS_ERROR_NOT_IMPLEMENTED; } /* End of implementation class template. */ #endif #endif /* __gen_nsIDownloadManager_h__ */